<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>XML data binding</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/XML_data_binding"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-XML_data_binding rootpage-XML_data_binding skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">XML data binding</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<p><b>XML data binding</b> refers to a means of representing information in an <a href="XML" title="XML">XML</a> document as a <a href="Business_object" title="Business object">business object</a> in computer memory. This allows <a href="Application_software" title="Application software">applications</a> to access the data in the XML from the object, rather than using the <a href="Document_Object_Model" title="Document Object Model">DOM</a> or <a href="Simple_API_for_XML" title="Simple API for XML">SAX</a> to retrieve the data from a direct representation of the XML itself.
</p><p>It makes it possible to read and write <a href="XML" title="XML">XML</a> data using a programming language class library (e.g. <a href="C%2B%2B" title="C++">C++</a>, <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="Java_(programming_language)" title="Java (programming language)">Java</a>), specifically created for a given XML data format.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Whilst it is possible to manually write a computer program to achieve this, <b>XML data binding</b> tools generate the source code to perform these tasks.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Description">Description</h2></div>
<p>An XML data binder accomplishes this by automatically creating a mapping between elements of the <a href="XML_schema" title="XML schema">XML schema</a> of the document we wish to bind and <a href="Instance_variable" title="Instance variable">members</a> of a <a href="Class_(computer_science)" class="mw-redirect" title="Class (computer science)">class</a> to be represented in memory.
</p><p>When this process is applied to convert an XML document to an object, it is called <a href="Serialization" title="Serialization">unmarshalling</a> (also called deserialization). The reverse process, to serialize an object as XML, is called <a href="Marshalling_(computer_science)" title="Marshalling (computer science)">marshalling</a>.
</p><p>Approaches to data binding can be distinguished as follows:
</p>
<ul><li><b>XML schema based:</b> Based on an existing XML schema, classes that correspond to the schema are generated.</li>
<li><b>Class based:</b> Based on a set of classes to be serialized, a corresponding XML schema is generated.</li>
<li><b>Mapping-based:</b> A mapping description, usually itself an XML document, describes how an existing XML schema maps to a set of classes, and vice versa.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Difficulties">Difficulties</h2></div>
<p>Since XML is a document-oriented format and objects are (usually) not document-oriented, simple XML data binding mappings may ignore some of the structural information embedded in an XML document. Specifically, information such as <a href="Comment_(computer_programming)" title="Comment (computer programming)">comments</a>, XML entity references, and sibling order may not be preserved in the object representation created by the binding application. However, this is not always the case; sufficiently powerful XML data binding tools are capable of preserving 100% of the information stored in an XML document.
</p><p>Similarly, since objects residing in computer memory are not inherently sequentially stored, and may include links to other objects (including self-referential links), simple XML data binding mappings may not be capable of preserving all the information about an object when it is marshalled to XML. However, sufficiently powerful data binding tools perform graph structure analysis on objects residing in memory to marshall (cyclic) object graph structures in XML by utilizing standard XML reference attributes.
</p>
<div class="mw-heading mw-heading2"><h2 id="Alternatives">Alternatives</h2></div>
<p>An alternative approach to automatic data binding relies instead on hand-crafted <a href="XPath" title="XPath">XPath</a> expressions that extract data from XML. This approach has some benefits but also has some drawbacks. First, the approach only needs proximate knowledge (e.g., topology, tag names, etc.) of the XML tree structure, which developers can determine by looking at the XML data. Furthermore, XPath allows the application to bind the relevant data items and filter out everything else, avoiding the unnecessary processing that would be required to completely unmarshall the entire XML document. The drawback of this approach is the lack of automation in implementing the object model and XPath expressions. Instead, the application developers have to create these artifacts manually, which is time-consuming, potentially error-prone, and hampers application maintenance when XML schemas and XML content models are updated. Another drawback is the lack of XML schema verification, which XML data bindings typically apply automatically during unmarshalling. Schema validity is typically required in secure applications.
</p>
<div class="mw-heading mw-heading2"><h2 id="Data_binding_in_general">Data binding in general</h2></div>
<p>One of XML data binding's strengths is the ability to <a href="Serialization" title="Serialization">deserialize</a> objects across programs, languages, and platforms.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> You can dump a time series of structured objects from a datalogger written in <a href="C_(programming_language)" title="C (programming language)">C (programming language)</a> on an embedded processor, bring it across the network to process in <a href="Perl" title="Perl">Perl</a> and finally visualize in <a href="GNU_Octave" title="GNU Octave">Octave</a>. The structure and the data remain consistent and coherent throughout the journey, and no custom formats or parsing is required. This is not unique to XML. <a href="YAML" title="YAML">YAML</a>, for example, is emerging as a powerful data-binding alternative to XML. <a href="JSON" title="JSON">JSON</a> (which can be regarded as a subset of YAML) is often suitable for lightweight or restricted applications.
</p>
<div class="mw-heading mw-heading2"><h2 id="XML_data_binding_frameworks">XML data binding frameworks</h2></div>
<table class="wikitable sortable" style="font-size: 85%; text-align: center; width: 100%;">
<tbody><tr>
<th>Name
</th>
<th>Programming Language
</th>
<th>License
</th>
<th>First release
</th>
<th>Last stable release
</th>
<th>Code generation from XSD
</th>
<th>Custom mapping
</th>
<th>Note
</th></tr>
<tr>
<td><a href="Apache_Commons" title="Apache Commons">Apache Commons</a> Betwixt
</td>
<td>Java
</td>
<td style="background: #DFF; color:black; vertical-align: middle; text-align: center;" class="free table-free"><a href="Apache_License" title="Apache License">Apache</a>
</td>
<td>January 28, 2003<span style="display: none;"> (<span class="bday dtstart published updated itvstart">2003-01-28</span>)</span>
</td>
<td>0.8
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td>Dormant. Serializes objects to XML without requiring an XML schema definition
</td></tr>
<tr>
<td><a href="Apache_XMLBeans" title="Apache XMLBeans">Apache XMLBeans</a>
</td>
<td>Java
</td>
<td style="background: #DFF; color:black; vertical-align: middle; text-align: center;" class="free table-free"><a href="Apache_License_2.0" class="mw-redirect" title="Apache License 2.0">Apache License 2.0</a>
</td>
<td>
</td>
<td>5.1.1, August 29, 2022<span style="display: none;"> (<span class="bday dtstart published updated itvstart">2022-08-29</span>)</span>
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td>
</td></tr>
<tr>
<td><a href="Castor_(framework)" title="Castor (framework)">Castor</a>
</td>
<td>Java
</td>
<td style="background: #DFF; color:black; vertical-align: middle; text-align: center;" class="free table-free"><a href="Apache_License" title="Apache License">Apache 2.0</a>
</td>
<td>
</td>
<td>1.4.1, May 15, 2016<span style="display: none;"> (<span class="bday dtstart published updated itvstart">2016-05-15</span>)</span>
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td>Earlier versions also supported Java-to-SQL persistence but this has since been forked into a separate project
</td></tr>
<tr>
<td><a href="CodeSynthesis_XSD" title="CodeSynthesis XSD">CodeSynthesis XSD</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td>
<td style="background: #DFF; color:black; vertical-align: middle; text-align: center;" class="free table-free"><a href="GNU_General_Public_License" title="GNU General Public License">GNU GPL</a> and proprietary
</td>
<td>
</td>
<td>4.0.0, July 22, 2014<span style="display: none;"> (<span class="bday dtstart published updated itvstart">2014-07-22</span>)</span>
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td>with SAX or tree-like mapping into C++ classes
</td></tr>
<tr>
<td><a href="GSOAP" title="GSOAP">gSOAP</a>
</td>
<td><a href="C_(programming_language)" title="C (programming language)">C</a> and <a href="C%2B%2B" title="C++">C++</a>
</td>
<td style="background: #DFF; color:black; vertical-align: middle; text-align: center;" class="free table-free"><a href="GNU_General_Public_License" title="GNU General Public License">GNU GPL</a> and proprietary
</td>
<td>December 8, 2000<span style="display:none"> (<span class="bday dtstart published updated">2000-12-08</span>)</span>
</td>
<td>2.8.131, September 23, 2023<span style="display: none;"> (<span class="bday dtstart published updated itvstart">2023-09-23</span>)</span>
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td>Supports XML schema, WSDL, and SOAP; XML schemas are not required to serialize C/C++ data to XML; custom mapping of XML schema types to C/C++ types via a type mapping file and from C/C++ types to compatible XML schema types by source code annotation
</td></tr>
<tr>
<td><a href="Java_Architecture_for_XML_Binding" class="mw-redirect" title="Java Architecture for XML Binding">Java Architecture for XML Binding</a> (JAXB)
</td>
<td>Java
</td>
<td>?
</td>
<td>
</td>
<td>
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td>
</td></tr>
<tr>
<td><a href="JiBX" title="JiBX">JiBX</a>
</td>
<td>Java
</td>
<td style="background: #DFF; color:black; vertical-align: middle; text-align: center;" class="free table-free"><a href="BSD_License" class="mw-redirect" title="BSD License">BSD License</a>
</td>
<td>
</td>
<td>1.2.6, January 1, 2015<span style="display: none;"> (<span class="bday dtstart published updated itvstart">2015-01-01</span>)</span>
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td>Maps classes to XML schemas via bytecode manipulation
</td></tr>
<tr>
<td><a href="Liquid_XML_Studio" title="Liquid XML Studio">Liquid XML Data Binder</a>
</td>
<td>C++, C#, Java, Visual Basic.Net, Visual Basic 6 (COM)
</td>
<td>Freeware and proprietry
</td>
<td>June 1, 2001<span style="display:none"> (<span class="bday dtstart published updated">2001-06-01</span>)</span>
</td>
<td>June 18, 2024<span style="display:none"> (<span class="bday dtstart published updated">2024-06-18</span>)</span>
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td>Supports XML schema (XSD), DTD, XDR, WSDL. Serializes XML to JSON and JSON to XML.
</td></tr>
<tr>
<td><a href="Liquid_XML_Studio" title="Liquid XML Studio">Liquid XML Objects</a>
</td>
<td>C# and Visual Basic .Net (Supports XSD 1.1)
</td>
<td>Freeware and proprietry
</td>
<td>March 3, 2019<span style="display:none"> (<span class="bday dtstart published updated">2019-03-03</span>)</span>
</td>
<td>June 18, 2024<span style="display:none"> (<span class="bday dtstart published updated">2024-06-18</span>)</span>
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td>Direct replacement for XSD.exe. Integrated within <a href="Visual_Studio" title="Visual Studio">Microsoft Visual Studio</a>. Supports XML schema (XSD 1.0 and XSD 1.1), DTD, WSDL. Serializes XML to JSON and JSON to XML.
</td></tr>
<tr>
<td><a rel="nofollow" class="external text" href="http://simple.sourceforge.net/">Simple</a>
</td>
<td>Java
</td>
<td style="background: #DFF; color:black; vertical-align: middle; text-align: center;" class="free table-free"><a href="Apache_License" title="Apache License">Apache 2.0</a>
</td>
<td>
</td>
<td>2.7.1, February 9, 2017<span style="display: none;"> (<span class="bday dtstart published updated itvstart">2017-02-09</span>)</span>
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td>
</td></tr>
<tr>
<td>System.Xml.Serialization
</td>
<td>C#
</td>
<td>?
</td>
<td>
</td>
<td>
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td>Part of the .NET framework, contains XML data binding classes; includes <code>xsd.exe</code> tool to generate classes from XSD schema
</td></tr>
<tr>
<td><a href="Xmlbeansxx" title="Xmlbeansxx">xmlbeansxx</a>
</td>
<td>C++
</td>
<td style="background: #DFF; color:black; vertical-align: middle; text-align: center;" class="free table-free"><a href="Apache_License" title="Apache License">Apache 2.0</a>
</td>
<td>
</td>
<td>0.9.1, April 1, 2008<span style="display: none;"> (<span class="bday dtstart published updated itvstart">2008-04-01</span>)</span>
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td>C++ port of Apache XMLBeans
</td></tr>
<tr>
<td><a href="XStream" title="XStream">XStream</a>
</td>
<td>Java
</td>
<td style="background: #DFF; color:black; vertical-align: middle; text-align: center;" class="free table-free"><a href="BSD_license" class="mw-redirect" title="BSD license">BSD</a>-style license
</td>
<td>January 1, 2004<span style="display:none"> (<span class="bday dtstart published updated">2004-01-01</span>)</span>
</td>
<td>1.4.10, May 23, 2017<span style="display: none;"> (<span class="bday dtstart published updated itvstart">2017-05-23</span>)</span>
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td>Also capable of serializing to JSON
</td></tr>
<tr>
<td><a rel="nofollow" class="external text" href="http://zeus.ow2.org/">Zeus</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190128101400/http://zeus.ow2.org/">Archived</a> 2019-01-28 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>
</td>
<td>Java
</td>
<td>?
</td>
<td>
</td>
<td>3.5 beta, August 16, 2002<span style="display: none;"> (<span class="bday dtstart published updated itvstart">2002-08-16</span>)</span>
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">Unknown
</td>
<td>
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Bound_control" class="mw-redirect" title="Bound control">Bound control</a></li>
<li><a href="Data_structure" title="Data structure">Data structure</a></li>
<li><a href="JSON" title="JSON">JSON</a></li>
<li>LDX+</li>
<li><a href="Serialization" title="Serialization">Serialization</a></li>
<li><a href="YAML" title="YAML">YAML</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;">
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.liquid-technologies.com/xml-data-binder/what-is-xml-data-binding-part-1">"What is XML Data Binding - Tutorial"</a> Liquid Technologies. Retrieved 2024-07-24.</span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.ibm.com/docs/en/odm/8.12.0?topic=binding-what-is-xml">"What is XML binding"</a> IBM. Retrieved 2024-04-16.</span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.rpbourret.com/xml/XMLDataBinding.htm">XML Data Binding Resources</a>, by Ronald Bourret</li>
<li><a rel="nofollow" class="external text" href="http://www.w3.org/2002/ws/databinding">XML Schema Patterns for Databinding Working Group</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-27" href="https://en.wikipedia.org/wiki/?title=XML_data_binding&oldid=1302832607">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>